package Day15;

import java.io.*;

public class copydir {

    public static void main(String[] args) throws IOException {

        //进行拷贝文件的代码

        //创建对象表示数据源
        File src = new File("D:\\aaaa\\src");
        //创建对象表示目的地
        File dest = new File("D:\\aaaa\\dest");


        //调用方法进行拷贝、
        copydirs(src,dest);


    }


   /* private static void copydirs(File src,File dest) throws IOException {

        dest.mkdirs();

        //1进入数据源
        File[] files = src.listFiles();
        //遍历数组
        for(File file:files){
            if(file.isFile()){
                //3判断是文件，开始拷贝
                FileInputStream fis = new FileInputStream(file);
                FileOutputStream fos = new FileOutputStream(new File(dest,file.getName()));
                byte[] bytes = new byte[1024];
                int len;
                while((len = fis.read(bytes)) != -1){
                    fos.write(bytes,0,len);
                }
                fos.close();
                fis.close();
            }else{
                //判断是文件夹。，进行递归
                copydirs(file,new File(dest,file.getName()));

            }*/


    private static void copydirs(File src, File dest) throws IOException {
        File[] files = src.listFiles();
        //遍历文件
        for(File file: files){
            if(file.isFile()){
                //是文件就拷贝
                //用字节流来拷贝，用数组
                FileInputStream fos = new FileInputStream(file);
                FileOutputStream fis = new FileOutputStream(new File(dest,file.getName()));
                byte[] bytes = new byte[1024];
                int len;
                while((len = fos.read(bytes)) != -1){
                    fis.write(bytes);
                }
                fis.close();
                fos.close();
            }else{
                //是文件夹就递归
                copydirs(file,new File(dest,file.getName()));
            }

        }
    }








}


